#include <stdio.h>
//社团共有 num 为成员参与破冰游戏，编号为 0 ~ num-1。成员们按照编号顺序围绕圆桌而坐。
//社长抽取一个数字 target，从 0 号成员起开始计数，排在第 target 位的成员离开圆桌，
//且成员离开后从下一个成员开始计数。请返回游戏结束时最后一位成员的编号。
// int iceBreaking(int num,int target) 
// {  
//     //终止条件
//     if(num == 1)
//     return 0;
//     int *p =a;
//     int j = 0;
//     static int flag = 0;
//     if(flag == 0)
//     {
//        for(int i = 0; i < num; i++)
//        {
//             *(p++) = i;
//        }
//           flag = 1;
//         }
//        int i = 0;
//        for(int i = 0; i < num; i++)
//        {    
//          if(i != target)   
//          a[j++] = a[i];
//          else
//          continue;
//      }
//          p = a;
//     return iceBreaking(num-1,target); 
// }
int iceBreaking(int num, int target) 
{
      return f(num, target);
}

int f(int num, int target)
{
    if (num == 1) 
    {
        return 0;
    }
    int x = f(num - 1, target);
    return (target + x) % num;
}

int main()
{
    int n = 4;
    int target = 3;
    printf("%d\n",iceBreaking(n,target));
}